package com.lijin.workshop.util;

public final class AssertUtil {

	/**
	 * 验证方法传入的参数是否为null，如果是则抛非法参数异常，异常信息可以自己指定
	 * @param o
	 * @param msg
	 */
	public static void isArgumentNull(Object o, String msg) {
		if (o == null) {
			if (StringUtil.isBlank(msg)) {
				msg = "参数为null";
			}
			throw new IllegalArgumentException(msg);
		}
	}
	
	/**
	 * 验证字符串是否为null或空，如果是则抛如果是则抛非法参数异常，异常信息可以自己指定
	 * @param str
	 */
	public static void isArgumentBlank(String str, String msg) {
		if (StringUtil.isBlank(str)) {
			if (StringUtil.isBlank(msg)) {
				msg = "字符串为空: " + str;
			}
			throw new IllegalArgumentException(msg);
		}
	}
	
	/**
	 * 验证对象是否为null，如果是则抛运行时异常，异常信息可以自己指定
	 * @param o
	 * @param msg
	 */
	public static void validateObjNull(Object o, String msg) {
		if (o == null) {
			if (StringUtil.isBlank(msg)) {
				msg = "参数为null";
			}
			throw new RuntimeException(msg);
		}
	}
	
	/**
	 * 验证对象是否为null，如果是null，则抛运行时异常，异常信息可以自己指定
	 * @param o
	 * @param msg
	 */
	public static void validateStrBlank(String str, String msg) {
		if (StringUtil.isBlank(str)) {
			if (StringUtil.isBlank(msg)) {
				msg = "字符串为空: " + str;
			}
			throw new RuntimeException(msg);
		}
	}
}
